package main

import "fmt"

/*
使用值接收者实现接口之后，不管是 dog 结构体还是结构体指针 *dog 类型的变量都可以赋值给该接口变量。

	因为Go语言中有 对指针类型变量求值 的语法糖，dog 8_指针 fugui 内部会自动求值 *fugui 。
*/
type Mover interface {
	move()
}

type dog struct{}

func (d dog) move() { //dog类型实现了接口Mover
	fmt.Println("狗会动")
}

func main() {
	var x Mover
	var wangcai = dog{} // 旺财是dog类型
	x = wangcai         // x可以接收dog类型
	x.move()
	var fugui = &dog{} // 富贵是*dog类型
	x = fugui          // x可以接收*dog类型
	x.move()
}
